package cn.e4j.modular.erp.mapper;

import cn.e4j.core.dto.impl.Dto;
import cn.e4j.modular.crm.entity.GwamT;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author ganjia
 * @since 2019-09-18
 */
public interface GPMapper extends BaseMapper<GwamT> {

    List<Dto> getListData(@Param("dto") Dto dto);

    List<Dto> getSiteList(@Param("page") Page<Object> page, @Param("dto") Dto dto);

    // 获取营运中心名称
    Dto getAzpFile(@Param("dto") Dto dto);

    Dto getOcc(@Param("dto") Dto dto);

    Dto getZo(@Param("dto") Dto dto);

    // 检查本地订单号是否已经存在
    Dto getOea12(@Param("dto") Dto dto);

    Dto selectByGwak001(@Param("dto") Dto dto);

    void insert_inb_file(@Param("dto") Dto dto);

    int insert_ina_file(@Param("dto") Dto dto);

    void delete_inb(@Param("dto") Dto dto);

    Dto getINA(@Param("dto") Dto dto);

    void updateINA(@Param("dto") Dto dto);

    int insertOeaFile(@Param("dto") Dto dto);

    void deleteOea(@Param("dto") Dto dto);

    Integer insertOccFile(@Param("dto") Dto dto);

    Integer updateOccFile(@Param("dto") Dto dto);

    void deleteOcc(@Param("dto") Dto dto);

    void insertOebFile(@Param("dto") Dto dto);

    void deleteOeb(@Param("dto") Dto dto);

    String getMaxOea01(@Param("dto") Dto dto);

    Dto getOgbCount(@Param("dto") Dto dto);

    Dto getOea01(@Param("dto") Dto dto);

    void updateOeaconf(@Param("dto") Dto dto);

    Integer updateOeaconfByOea01(@Param("dto") Dto dto);


    /**
     * 结算方式
     */
    Dto getOea85(@Param("dto") Dto dto);

    /**
     * 发货金额
     */
    Dto getSumTg(@Param("dto") Dto dto);

    /**
     * 退货金额
     */
    Dto getSumTi(@Param("dto") Dto dto);

    /**
     * 回款金额
     */
    Dto getSumTk(@Param("dto") Dto dto);

    /**
     * 月初余额
     */
    Dto getSumQc(@Param("dto") Dto dto);

    /**
     * 本期针对历史的收款
     */
    Dto getSumTb(@Param("dto") Dto dto);

    /**
     * 本期帐期未核销收款
     */
    Dto getSumTkWHX(@Param("dto") Dto dto);

    /**
     * 无返利发货
     */
    Dto getSumWFLFH(@Param("dto") Dto dto);

    /**
     * 铺货发货
     */
    Dto getSumPHFH(@Param("dto") Dto dto);

    /**
     * 铺货回款
     */
    Dto getSumPHHK(@Param("dto") Dto dto);

    /**
     * 铺货无返利回款
     */
    Dto getSumPHWFL(@Param("dto") Dto dto);

    /**
     * 发货数量
     */
    Dto getOgb16Sum(@Param("dto") Dto dto);

    Dto getMaxOeb03(@Param("dto") Dto dto);

    void updateOeb(@Param("dto") Dto dto);

    Dto getMaxINA01(@Param("dto") Dto dto);

}
